import Vue from 'vue'
window.Vue = Vue;  //方便全局使用 不需要引入
import App from './App.vue'
import router from './router'
import store from './store/index'
import Util from '@/utils/util'
import Cookie from '@/utils/libs'
import {upload} from '@/utils/axios'
import wx from 'weixin-js-sdk'
import coupon from '@/components/mixins/coupon/coupon'
Vue.use(coupon)

import 'amfe-flexible'

Vue.config.productionTip = false
import { Lazyload,  Row, Col } from 'vant';

// vant 
Vue.prototype.$util = Util;
Vue.prototype.$wx = wx;
Vue.prototype.$cookie = Cookie;
Vue.prototype.$upload = upload;
Vue.prototype.$wxUrlSign = {};

// Cookie.setToken('b6aa48b7b28c93900c879b4fee850f33')
// 初始化设置默认选择地址
var defaulAddress = Cookie.getDefaultAddress()
if(defaulAddress) store.commit('setDefaultAddress', defaulAddress)

const domain = 'http://wx.annefarm.com.cn/';

const wechat = ()=>{
    if( Util.isWechat() )
    {
        var url = document.location.href
        if( !Vue.prototype.$wxUrlSign[url] ){
            store.dispatch('wxjsApi',{
                url: url
            }).then(res =>{
                // 微信的配置
                console.log('微信配置', res.data)
                Vue.prototype.$wxUrlSign[url] = res.data.result
                Vue.prototype.wxconfig = res.data.result
                Vue.prototype.$wx.config(Vue.prototype.wxconfig)
                Vue.prototype.$wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
                    Vue.prototype.$wx.onMenuShareAppMessage({
                    title: document.title, // 分享标题
                    desc: Vue.prototype.wxconfig.shareDetail || '安妮放心农场', // 分享描述
                    link: document.location.href, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                    imgUrl: domain + 'img/logo.png', // 分享图标
                    type: '', // 分享类型,music、video或link，不填默认为link
                    dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
                    success: function () {
                    // 用户点击了分享后执行的回调函数
                    // alert('分享之后的URL: '+ document.URL)
                    }
                    });
                })
            })
        }else{
            Vue.prototype.wxconfig = Vue.prototype.$wxUrlSign[url]
            Vue.prototype.$wx.config(Vue.prototype.wxconfig)
            Vue.prototype.$wx.ready(function () {   //需在用户可能点击分享按钮前就先调用
                Vue.prototype.$wx.onMenuShareAppMessage({
                title: document.title, // 分享标题
                desc: Vue.prototype.wxconfig.shareDetail || '安妮放心农场', // 分享描述
                link: document.location.href, // 分享链接，该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
                imgUrl: domain + 'img/logo.png', // 分享图标
                type: '', // 分享类型,music、video或link，不填默认为link
                dataUrl: '', // 如果type是music或video，则要提供数据链接，默认为空
                success: function () {
                // 用户点击了分享后执行的回调函数
                // alert('分享之后的URL: '+ document.URL)
                }
                });
            })
        }
    }
}

Vue.use(Row).use(Col);
/*
Vue.prototype.$ajax = $ajax; //挂载全局请求事件
Vue.prototype.$baseUrl = baseUrl; //挂载全局请求事件
Vue.prototype.$pagehost = host; //挂载全局请求事件
*/
// options 为可选参数，无则不传
Vue.use(Lazyload);

router.beforeEach((to,from,next) => {
    var token = Cookie.getToken()
    var first_leader = to.query.first_leader || 0
    if(first_leader > 0 ) {
        Cookie.set('first_leader', first_leader)
    }
    if(!token){
        var url  = document.location.href
        document.location.href = domain + 'api/user/third' + '?redirect_url=' + encodeURIComponent(url);
    }else{
        var user = Cookie.getUserInfo()
        if(user){
            if(Cookie.get('need_bindmobile') == 1){
                // 绑定手机号
                if(to.name != 'bindPhone'){
                    return router.push({
                        name: 'bindPhone'
                    })
                }
            }else if(to.query.hasOwnProperty('first_leader')) {
                if(user.user_id != first_leader){
                    to.query.first_leader = user.user_id
                    return router.push(to)
                }
            }else{
                to.query.first_leader = user.user_id
                return router.push(to)
            }
        }        
        next()        
    }
})

router.afterEach((to,from) => {
    console.log('to', to)
    // drawedGoodsWeight
    // 获取本期能领的商品克数
    var can_draw_goods_weight = Cookie.getCanDrawGoodsWeight()
    store.commit('canDrawGoodsWeight', can_draw_goods_weight)
    // 查看有没有能领取的优惠券
    var canPickCoupon = Cookie.getCanPickCoupon()
    store.commit('canPickCoupon', canPickCoupon)
    setTimeout(wechat, 500)
})

new Vue({
    router,
    store,
    render: h => h(App),
}).$mount('#app')
